<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>

<!--
  xml query with binding in rule
-->

<window title="XUL Template Tests" width="500" height="600"
        onload="test_template();"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>

  <body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>

  <data id="output">
    <label anyid="true" container="true" empty="true" value="Class Reptiles"/>
    <label anyid="true" container="true" empty="true" value="Class Birds"/>
  </data>

<script src="templates_shared.js"/>

<script>
<![CDATA[
SimpleTest.waitForExplicitFinish();

var testid ="xml query with binding in rule";
var queryType = "xml";
var isTreeBuilder = false;
var needsOpen = false;
var notWorkingYet = false;
var notWorkingYetDynamic = false;
var expectedOutput = document.getElementById("output");

Components.classes["@mozilla.org/consoleservice;1"].
           getService(Components.interfaces.nsIConsoleService).reset();

expectLoggedMessages = function()
{
  // check log to ensure that two rows have been added
  var initialNumber = Number(document.getElementById("root").firstChild.nextSibling.id.substring(3));
  expectConsoleMessage('', 'row' + initialNumber, true, true, '1 matching rule 1');
  expectConsoleMessage('', 'row' + (initialNumber + 1), true, true, '1 matching rule 1');
}

var changes = [];
]]>
</script>

<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="root"
      flags="logging" datasources="animals.xml" querytype="xml" ref=".">
<template>
<query expr="class/name"/>
<rule id="rule">
<binding subject="?" predicate="concat('Class ', text())" object="?text"/>
<action>
<label uri="?" value="?text"/>
</action>
</rule>
</template>
</vbox>

</window>
